草庐IT

c++ - Qt中的实时像素绘制

我的应用程序显示一个长的科学垂直滚动图片(1024x99999999...px)作为QPixmap1024x128block的序列。这允许我通过从表中选择所需的block以最小的CPU成本滚动图片:block_id=y_coord/128。此外,QPixmap是用于快速屏幕输出的首选“像素容器”。但是现在我有新的数据流进入应用程序,需要将新数据添加并显示在长图的底部。最小部分:1024x1(一行)。另外,我想尽快显示每一行(接近实时)。128行的每个新部分都将“打包”到QPixmap,但在我收到足够的数据之前,我无法构建整个block。我应该考虑用什么方法来显示新数据?该视频给出了“添

c++ - 如何将 Crypto++ 库添加到 Qt 项目中

我下载了Crypto++源代码并在VisualStudio2013中编译了cryptlib项目,然后我将生成的.lib文件添加到我的Qt项目中,这使得我的.pro文件如下所示:QT+=coreguiQT+=sqlgreaterThan(QT_MAJOR_VERSION,4):QT+=widgetsTARGET=untitledTEMPLATE=appSOURCES+=main.cpp\mainwindow.cppHEADERS+=mainwindow.h\databasecontrol.h\test.hFORMS+=mainwindow.uiwin32:CONFIG(release,d

c++ - 在Qt中获取qrc文件的路径

我想知道如何访问qrc文件中的文件路径,以便将它们用作数组中的字符串。qrc文件的一个例子是:images/1.jpgimages/2.jpgimages/3.jpgimages/4.jpg我想按以下方式使用它:for(inti=0;i其中path是一个qlist,稍后可用于访问相应的图像。 最佳答案 似乎有一种使用QDirIterator的简单方法.如果您在当前工作目录中有一个名为“:”的目录并且您希望将来解析该目录,则它可能会中断。无论如何,现在这不应该是一个问题。QStringListimageFileList;QDirIte

c++ - 'implicit sharing' 是否可从 Qt 类继承?

如果我创建一个隐式共享的Qt类(例如QList)的子类,我的子类也会被隐式共享吗?我读了briefintroductiontoimplicitsharing位于QtCore5.3文档中,但我没有看到任何关于遗传性的提及。我提问的目的是在决定传递哪些参数以及如何传递它们时尝试编写更高效的代码。 最佳答案 如评论中所述,使用隐式共享的Qt类通常是数据容器或工具,不打算被子类化。您会注意到,因为没有虚析构函数,实际上根本就没有虚函数。由于风险和不良做法,您可能希望在没有继承的情况下进行不同的设计。回答你的问题:隐式共享如何运作?类实例共享

c++ - 使用动态插件处理 Qt5 中的 QMetaType 注册

我的公司正在考虑从Qt4.8.4跳转到Qt5.4,但我遇到了一个对我们来说可能是个阻碍的变化:QMetaType::unregisterType()被删除了(http://doc.qt.io/qt-5/sourcebreaks.html).我们的GUI需要在运行时加载插件,同一个插件可能会在GUIsession期间加载和卸载不止一次。在Qt4中,我们遇到了一个问题,当第二次加载插件时,任何使用插件注册的自定义类型之一的信号/插槽都会导致访问冲突,因为元类型已被注册插件的第一个实例(现在已卸载,因此内存空间无效)。我们通过定义自己的宏来解决这个问题,以便在加载和卸载插件时安全地注册和取消

c++ - Qt 5.4 应用程序可以在 pre win7 中调试吗

当我发现选择Chromium而不是WebKit对QtWebEngine的影响时,我感到非常惊讶。Chromium需要VS2013,因此我无法在(例如)我的VistaProfessional上进行开发和测试。VS2013不支持XP或Vista。另外,安装QtCreator3.3.0,我没有得到可运行的工具包(是MinGW,直到Qt5.3)。Help\AboutQtCreator...框显示BasedonQt5.4.0(MSVC2010,32bit)我不明白...似乎我唯一的选择是坚持使用Qt5.3。或者在放弃Qt作为可行的可移植平台之前,我可以尝试一些技巧?

c++ - QT程序无法启动,因为缺少libgcc_s_dw2-1.dll

我知道以前有人问过这个问题,但我似乎找不到答案。我只有一个小的helloworld控制台程序,基本上是我用c++和qtcreator编写的。当我尝试运行可执行文件时,出现“程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll。请尝试重新安装以解决此问题。”我不明白为什么这个dll对于像这样的小程序来说甚至是必需的。我尝试按照其他地方的建议添加这些标志:QMAKE_CXXFLAGS+=-static-static-libgcc-static-libstdc++它仍然发生。其他人建议将dll所在的目录添加到我的路径中,但我实际上想将此程序提供给其他人,而他们不需要dll。

c++ - QT 和 Crypto++ with/MTd

我有两个带有MSVC201332位编译器的QT5.5项目。第一个是Qt控制台应用程序,在pro文件中使用crypto++和这两个:QMAKE_CXXFLAGS_RELEASE+=/MTQMAKE_CXXFLAGS_DEBUG+=/MTd第二个是Qtwidgets应用程序,它构建了基于对话框的GUI。单独地,每个都成功启动,但也单独地,在像上面这样的pro文件中添加相同内容的GUI项目给出了相同的旧错误:qtmain.lib(qtmain_win.obj):-1:error:LNK2038:mismatchdetectedfor'RuntimeLibrary':value'MD_Dyna

c++ - 使用 Qt 显示来自 OpenCV 的网络摄像头流

所以我可以用这个简单的代码用imshow和OpenCV查看我的网络摄像头流intmain(int,char**){VideoCapturecap(0);Matedges;namedWindow("webcam",1);while(true){Matframe;cap>>frame;imshow("webcam",frame);if(waitKey(30)>=0)break;}return0;}现在我想要的是在QT的Widget中的QImage中显示来自OpenCV的图像这是从cv::Mat到QImage的转换QImageMat2QImage(cv::Matconst&src){cv::

c++ - Qt5.7 安装在 Raspberry Pi3 上并且可以正常工作...如何获取 QtCreator?

我终于设法在RaspberryPi3上安装了Qt5.7,并构建了一个在Pi上运行的示例,这是通过仔细遵循以下步骤完成的:StepbyStepinstructionsonhowtoinstallQt5.6onRaspberryPi3要在Pi上获得5.7,只需替换:gitclonegit://code.qt.io/qt/qtbase.git-b5.6与:gitclonegit://code.qt.io/qt/qtbase.git-b5.7这在Linux主机上设置了工具链,在我的例子中是Ubuntu16.04,但是它没有安装QtCreator,然后我尝试安装QtCreator并搞砸了构建,所